<?php

class Descuento extends  CActiveRecord
{

	public $codigo;
	public $cantidad;
	public $servicio;
	public $documento;
	public $nombrepersona;

public function tableName()
	{
		return 'tempdescuento';
	}
	/**
	 * @return array validation rules for model attributes.
	 */
	public function rules()
	{
		// NOTE: you should only define rules for those attributes that
		// will receive user inputs.
		return array(
			array('codigo, nombrepersona, cantidad, servicio, documento', 'required'),
			array('codigo', 'numerical', 'integerOnly'=>true),			
		);
	}
	/**
	 * @return array customized attribute labels (name=>label)
	 */
	public function attributeLabels()
	{
		return array(
			'codigo' => 'Código',
			'nombrepersona' => 'Retira',
			'cantidad' => 'Cantidad',
			'servicio' => 'Servicio',
			'documento'=>'Documento',
		);
	}
       public function generardb()
       {
       	require_once("Conecli.php");
		$conexion=Conexion();
	$sql=$conexion->query("CREATE TABLE tempdescuento (
  codigo text NOT NULL,
  cantidad int(11) NOT NULL,
  documento text NOT NULL,
  servicio text NOT NULL,
  nombrepersona text NOT NULL,
  nombrebodega text NOT NULL,
  fecha date NOT NULL,
IDUS text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1");
		
       }

	public function ajustar()
	{

		require_once("Conecli.php");
		$conexion=Conexion();
       
       
$sql=$conexion->query("CALL Actualizacion()");
Yii::app()->user->setFlash('success', 'Datos aplicados con exito.');
		 //creacion de tabla y  eliminacion

		 $sql=$conexion->query("DROP TABLE if exists tempdescuento");

		$sql=$conexion->query("CREATE TABLE tempdescuento (
  codigo text NOT NULL,
  cantidad int(11) NOT NULL,
  documento text NOT NULL,
  servicio text NOT NULL,
  nombrepersona text NOT NULL,
  nombrebodega text NOT NULL,
  fecha date NOT NULL,
IDUS text NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1");


		return true;
	}

	/*public function movList()
	{
		$model = array(
			array('id' => '1' , 'value' => 'Aumento de saldos' ),
			array('id' => '-1' , 'value' => 'Disminución de saldos' ),
			);
		return CHtml::listData($model, 'id', 'value');
	}*/

   public function insertartemp()
   {
	require_once("Conecli.php");
		$conexion=Conexion();
		//verificacion de cantidad digitada  y actualizacion.
		$us=Yii::app()->user->id;
		$sql=$conexion->query("SELECT Bo_nombrebodega, Bo_idcodigo_PK FROM tbbodega WHERE Us_idusuario_FK='".Yii::app()->user->id."'");
		while($resul=$sql->fetch_assoc()){
			$nombodega=$resul["Bo_nombrebodega"];
			$bodega=$resul["Bo_idcodigo_PK"];
		}
$sql=$conexion->query("INSERT INTO tempdescuento(codigo,cantidad,documento,servicio,nombrepersona,nombrebodega,fecha,IDUS)
	VALUES('$this->codigo','$this->cantidad','$this->documento','$this->servicio','$this->nombrepersona','$bodega','".date('Y-m-d')."','$us')");

           // consulta que optiene todos los datos de la tabla temporal.
		$sql=$conexion->query("SELECT * FROM tempdescuento");
		while($descu=$sql->fetch_assoc()){
			$codigop=$descu["codigo"];
			$cantidad=$descu["cantidad"];
			$documento=$descu["documento"];
			$servicio=$descu["servicio"];
			$nombre=$descu["nombrepersona"];
			$nombo=$descu["nombrebodega"];
			$fecha=$descu["fecha"];
			$id=$descu["IDUS"];
		}
         // consulta que optiene la cantidad de un  producto segun bodega y producto introducido. 
		$sqls=$conexion->query("SELECT Bp_cantdespachada FROM tbbodegaproducto WHERE Bo_idcodigo_FK ='$bodega' 
				AND Pr_idproducto_FK ='$codigop'"); 
			
			while ($resultado=$sqls->fetch_assoc()) {
				$can=$resultado["Bp_cantdespachada"];
			}
			//consulta que optiene la cantidad minima de un producto para ser comparado con la cantidad en bodegasatelite.
			$sqlcon=$conexion->query("SELECT Pr_cantidadminima FROM tbproducto WHERE Pr_idproducto_PK='$codigop'");
			while ($row=$sqlcon->fetch_assoc()) {
				$cantminima=$row["Pr_cantidadminima"];
			}

			if($cantidad >$can){
                Yii::app()->user->setFlash('warning', 'Imposible descontar,<strong> la cantidad despachada supera la almacenada en inventario</strong>.');
			}
			
			
			else if($can==$cantminima){
		 	Yii::app()->user->setFlash('warning', 'La cantidad del producto '.$codigop.'  a llegado al mínimo <strong>realice pedidos.</strong>');
			}

			else if($can<$cantminima){
		 	Yii::app()->user->setFlash('warning', 'La cantidad del producto '.$codigop.'  a exedido el mínimo <strong>realice pedidos.</strong>');
			}

			else if($can==0){
		 	Yii::app()->user->setFlash('warning', 'Productos agotados '.$codigop.'<strong>realice pedidos.</strong>');
			}
			else{

				Yii::app()->user->setFlash('success', 'Datos agregados con exito.');
		 	
		 } 
             
   }
   public function eliminar($id)
   {
    require_once("Conecli.php");
		$conexion=Conexion();
		//$id2=substr($id,0,3);
		$sql=$conexion->query("DELETE FROM tempdescuento where codigo='$id'");
		Yii::app()->user->setFlash('success', 'Registro eliminado.'.$id);
   }

	public function search()
	{
		// @todo Please modify the following code to remove attributes that should not be searched.
		

		$criteria=new CDbCriteria;
        $criteria->compare('codigo',$this->codigo);
		$criteria->compare('nombrepersona',$this->nombrepersona);
		$criteria->compare('cantidad',$this->cantidad);
		$criteria->compare('servicio',$this->servicio);
		$criteria->compare('documento',$this->documento);
		$criteria->compare('IDUS',Yii::app()->user->id);
        

		// $criteria->with =array('bodega');
		// $criteria->compare('bodega.Bo_nombrebodega',$this->Bo_idcodigo_FK,true);
		// $criteria->compare('bodega.Us_idusuario_FK',Yii::app()->user->id);
		// //agregacion de las relaciones
		// $criteria->compare('bodega.Bo_ubicacion', $this->ubicacion, true );
		// $criteria->compare('producto.Pr_descripcion', $this->descripcion, true );
		// $criteria->compare('producto.Pr_unidadmedida', $this->unidad, true );
		// // $criteria->compare('producto.Pr_fechaingreso', $this->fecha_ingreso, true );
		// $criteria->compare('producto.Pr_numconcurso', $this->concurso, true );
		// $criteria->compare('producto.Pro_idprovedor_FK', $this->cod_proveedor, true );
		// //$criteria->compare('producto.Pr_casacomercial', $this->proveedor, true );
		// $criteria->compare('producto.Pr_precio', $this->precio, true );
		// $criteria->compare('producto.Pr_cantidadminima', $this->can_minima, true );




		$criteria->together=true;
		
	 	return new CActiveDataProvider($this, array(
			'criteria'=>$criteria,
		));
	}

}
